home *** CD-ROM | disk | FTP | other *** search
- // Copyright (c)1995 Ray Dream, Inc. All Rights Reserved.
- /* $Id: COMShdr.h 1.1 1996/07/19 00:15:33 Damien Exp $ */
-
- #ifndef __COMSHDR__
- #define __COMSHDR__
-
- #ifndef __I3DEXSHA__
- #include "I3DExSha.h"
- #endif
-
-
- /******************************************************************************\
- * Generic COM Shader *
- \******************************************************************************/
-
- #undef INTERFACE
- #define INTERFACE COMShader
- struct COMShader : public I3DExShader {
- public:
- COMShader();
- virtual ~COMShader();
-
- // IUnknown methods
- STDMETHODIMP QueryInterface(THIS_ REFIID riid, LPVOID FAR* ppvObj);
- STDMETHODIMP_(ULONG) AddRef(THIS);
- STDMETHODIMP_(ULONG) Release(THIS);
-
- // Shader methods
- STDMETHODIMP ShellUtilitiesInit(THIS_ IShUtilities* shellUtilities);
- STDMETHODIMP ExtensionDataChanged(THIS);
- STDMETHODIMP HandleEvent(THIS_ ULONG sourceID);
- STDMETHODIMP DoShade(THIS_ ShadingInOut* theShadingIO, ShadingElem* theShadingElem);
- STDMETHODIMP_(BOOLEAN) DependsOnAppliedExtent(THIS);
-
- protected:
- virtual void CopyData(COMShader* dest); // Copy method for Clone
- ULONG fcRef; // Object reference count
- Boolean fPreprocessed; // can avoid object to recalculate some factors
-
- };
-
- #endif // __COMSHADR__
-
-